Computer programmers often develop programs (or code) that interact with numerous other systems, components and programs. During code development, a programmer may include various features and functions, such as security features, without fully considering the ramifications of using such features. Such actions may lead to security weaknesses in the resulting code developed by the programmer. For example, improper use of a security feature may make the resulting code vulnerable to security attacks. These weaknesses may have been avoided if the programmer had given more thought to the features used when developing the code.
Existing program development systems enable programmers to add optional comments to the code they develop. Since these comments are optional, programmers are not required to include such comments in their code. Further, these existing program development systems do not require programmers to explain why they used certain features or functions, or whether the programmer considered, for example, security issues associated with the use of those features or functions.
Therefore, it would be desirable to provide an improved program development system that encourages or requires a programmer to consider the ramifications of using various features or functions when developing code.